Chapter 8 Differential abundance analysis

8.1 CC acclimation vs post2

8.1.1 Enrichment analysis: Ancombc2

8.1.1.1 Structural zeros

# A tibble: 181 × 14
# Rowwise: 
   genome                present average domain      phylum          class order family genus species completeness contamination length    gc
   <chr>                 <chr>     <dbl> <chr>       <chr>           <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_11:bin_000008 accli     6.79  d__Bacteria p__Verrucomicr… c__V… o__V… f__Ak… g__A… s__            100            0.12 3.05e6  0.58
 2 AH1_2nd_1:bin_000039  accli     5.96  d__Bacteria p__Bacteroidota c__B… o__B… f__Ma… g__O… s__             99.5          0.1  3.92e6  0.44
 3 AH1_2nd_17:bin_000010 accli     2.61  d__Bacteria p__Bacteroidota c__B… o__B… f__Ri… g__M… s__             98.1          0.06 2.37e6  0.44
 4 AH1_2nd_17:bin_000038 accli     2.42  d__Bacteria p__Bacteroidota c__B… o__B… f__Ba… g__B… s__             88.0          3.29 4.26e6  0.4 
 5 AH1_2nd_14:bin_000005 accli     2.19  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__   s__             97.1          0.82 3.93e6  0.3 
 6 AH1_2nd_5:bin_000002  accli     1.63  d__Bacteria p__Bacteroidota c__B… o__B… f__Ma… g__O… s__             99.6          0.04 3.60e6  0.45
 7 AH1_2nd_12:bin_000015 accli     1.52  d__Bacteria p__Bacillota    c__B… o__E… f__Co… g__T… s__            100            7.76 3.79e6  0.31
 8 AH1_2nd_8:bin_000020  accli     1.25  d__Bacteria p__Pseudomonad… c__A… o__R… f__RU… g__   s__             99.6          0    8.93e5  0.36
 9 AH1_2nd_1:bin_000028  accli     1.15  d__Bacteria p__Pseudomonad… c__A… o__R… f__UB… g__C… s__             98.0          0    9.35e5  0.28
10 AH1_2nd_12:bin_000063 accli     0.911 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__C… s__             72.2          2.05 3.51e6  0.42
# ℹ 171 more rows

8.1.1.2 MAG level

8.2 CC acclimation vs post1

8.2.1 Enrichment analysis: Ancombc2

8.2.1.1 Structural zeros

# A tibble: 206 × 14
# Rowwise: 
   genome                present average domain      phylum          class order family genus species completeness contamination length    gc
   <chr>                 <chr>     <dbl> <chr>       <chr>           <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_1:bin_000006  accli     13.1  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__K… s__             98.5          4.38 4.26e6  0.44
 2 AH1_2nd_18:bin_000011 accli     10.1  d__Bacteria p__Bacillota    c__B… o__E… f__Co… g__C… s__             98.4          7.24 3.68e6  0.3 
 3 AH1_2nd_11:bin_000008 accli      6.79 d__Bacteria p__Verrucomicr… c__V… o__V… f__Ak… g__A… s__            100            0.12 3.05e6  0.58
 4 AH1_2nd_17:bin_000023 accli      6.31 d__Bacteria p__Bacillota    c__B… o__E… f__Co… g__C… s__             90.2          1.72 3.37e6  0.31
 5 LI1_2nd_4:bin_000026  accli      6.09 d__Bacteria p__Bacteroidota c__B… o__B… f__Ma… g__O… s__             99.4          3.28 4.76e6  0.44
 6 AH1_2nd_1:bin_000039  accli      5.96 d__Bacteria p__Bacteroidota c__B… o__B… f__Ma… g__O… s__             99.5          0.1  3.92e6  0.44
 7 AH1_2nd_17:bin_000010 accli      2.61 d__Bacteria p__Bacteroidota c__B… o__B… f__Ri… g__M… s__             98.1          0.06 2.37e6  0.44
 8 AH1_2nd_17:bin_000038 accli      2.42 d__Bacteria p__Bacteroidota c__B… o__B… f__Ba… g__B… s__             88.0          3.29 4.26e6  0.4 
 9 AH1_2nd_20:bin_000016 accli      2.27 d__Bacteria p__Bacillota    c__B… o__E… f__Er… g__   s__             97.5          3.86 4.01e6  0.37
10 AH1_2nd_14:bin_000005 accli      2.19 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__   s__             97.1          0.82 3.93e6  0.3 
# ℹ 196 more rows

8.2.1.2 MAG level

8.3 WC acclimation vs post2

8.3.1 Enrichment analysis: Ancombc2

8.3.1.1 Structural zeros

# A tibble: 134 × 14
# Rowwise: 
   genome                present average domain      phylum          class order family genus species completeness contamination length    gc
   <chr>                 <chr>     <dbl> <chr>       <chr>           <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_13:bin_000004 accli      2.13 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__   s__             97.0          0.58 3.76e6  0.42
 2 LI1_2nd_2:bin_000048  accli      2.07 d__Bacteria p__Bacillota    c__B… o__E… f__Co… g__C… s__             86.9          4.89 3.16e6  0.31
 3 AH1_2nd_12:bin_000008 accli      1.99 d__Bacteria p__Bacillota    c__B… o__L… f__St… g__L… s__Lac…         99.9          0.2  2.05e6  0.38
 4 LI1_2nd_3:bin_000015  accli      1.98 d__Bacteria p__Bacillota    c__B… o__S… f__St… g__S… s__Sta…         91.7          3.54 2.96e6  0.32
 5 LI1_2nd_8:bin_000044  accli      1.47 d__Bacteria p__Bacillota_A  c__C… o__O… f__Ru… g__A… s__             80.1          3.35 2.72e6  0.62
 6 LI1_2nd_2:bin_000030  accli      1.14 d__Bacteria p__Bacillota    c__B… o__R… f__UB… g__C… s__             91.6          1.86 1.13e6  0.28
 7 LI1_2nd_2:bin_000002  accli      1.10 d__Bacteria p__Bacillota_A  c__C… o__O… f__Ru… g__R… s__             94.7          2.65 2.84e6  0.53
 8 AH1_2nd_6:bin_000006  accli      1.09 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__J… s__             99.8          0.57 3.69e6  0.45
 9 LI1_2nd_1:bin_000052  accli      1.07 d__Bacteria p__Bacillota_A  c__C… o__T… f__CA… g__R… s__             83.8          7.54 1.93e6  0.3 
10 AH1_2nd_16:bin_000045 accli      1.07 d__Bacteria p__Bacteroidota c__B… o__B… f__Ri… g__A… s__             93.6          6.68 3.45e6  0.59
# ℹ 124 more rows

8.3.1.2 MAG level

8.4 CI acclimation vs post2

8.4.1 Enrichment analysis: Ancombc2

8.4.1.1 Structural zeros

# A tibble: 195 × 14
# Rowwise: 
   genome                present average domain      phylum          class order family genus species completeness contamination length    gc
   <chr>                 <chr>     <dbl> <chr>       <chr>           <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_1:bin_000006  accli     39.3  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__K… s__             98.5          4.38 4.26e6  0.44
 2 LI1_2nd_7:bin_000008  accli      7.37 d__Bacteria p__Bacillota    c__B… o__E… f__Er… g__B… s__             97.9          2.36 2.62e6  0.3 
 3 AH1_2nd_18:bin_000013 accli      4.35 d__Bacteria p__Bacteroidota c__B… o__B… f__Ta… g__P… s__             98.7          0.01 4.01e6  0.43
 4 AH1_2nd_20:bin_000004 accli      2.87 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__R… s__            100.           0.43 3.73e6  0.42
 5 AH1_2nd_5:bin_000054  accli      2.45 d__Bacteria p__Bacteroidota c__B… o__B… f__Ba… g__B… s__             86.4          3.24 5.34e6  0.43
 6 AH1_2nd_1:bin_000001  accli      1.71 d__Bacteria p__Bacteroidota c__B… o__B… f__Ta… g__P… s__             99.6          1.94 4.53e6  0.51
 7 AH1_2nd_20:bin_000061 accli      1.69 d__Bacteria p__Bacillota    c__B… o__L… f__En… g__E… s__             92.6          6.02 4.15e6  0.4 
 8 AH1_2nd_16:bin_000008 accli      1.59 d__Bacteria p__Bacillota_A  c__C… o__L… f__    g__   s__             98.4          0.14 3.87e6  0.28
 9 LI1_2nd_3:bin_000007  accli      1.48 d__Bacteria p__Bacillota    c__B… o__E… f__Er… g__C… s__             99.8          1.24 3.67e6  0.36
10 AH1_2nd_10:bin_000044 accli      1.20 d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__E… s__             88.9          0.53 3.62e6  0.48
# ℹ 185 more rows

8.4.1.2 MAG level

8.5 CI acclimation vs post1

8.5.1 Enrichment analysis: Ancombc2

8.5.1.1 Structural zeros

# A tibble: 223 × 14
# Rowwise: 
   genome                present average domain      phylum          class order family genus species completeness contamination length    gc
   <chr>                 <chr>     <dbl> <chr>       <chr>           <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_1:bin_000006  accli     39.3  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__K… s__             98.5          4.38 4.26e6  0.44
 2 AH1_2nd_19:bin_000005 accli     24.7  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__R… s__             96.1          0.16 3.94e6  0.42
 3 AH1_2nd_13:bin_000004 accli     11.5  d__Bacteria p__Bacillota_A  c__C… o__L… f__La… g__   s__             97.0          0.58 3.76e6  0.42
 4 AH1_2nd_11:bin_000008 accli      9.27 d__Bacteria p__Verrucomicr… c__V… o__V… f__Ak… g__A… s__            100            0.12 3.05e6  0.58
 5 AH1_2nd_19:bin_000001 accli      8.34 d__Bacteria p__Bacteroidota c__B… o__B… f__Ta… g__P… s__             99.7          1.43 4.74e6  0.51
 6 AH1_2nd_19:bin_000038 accli      8.08 d__Bacteria p__Pseudomonad… c__A… o__R… f__    g__   s__             94.6          0    9.32e5  0.37
 7 LI1_2nd_7:bin_000008  accli      7.37 d__Bacteria p__Bacillota    c__B… o__E… f__Er… g__B… s__             97.9          2.36 2.62e6  0.3 
 8 AH1_2nd_18:bin_000047 accli      6.98 d__Bacteria p__Bacteroidota c__B… o__B… f__Ta… g__P… s__             87.5          4.81 5.47e6  0.43
 9 AH1_2nd_9:bin_000015  accli      6.88 d__Bacteria p__Desulfobact… c__D… o__D… f__De… g__D… s__             99.0          0    3.04e6  0.61
10 AH1_2nd_10:bin_000007 accli      6.07 d__Bacteria p__Bacillota_A  c__C… o__L… f__    g__   s__             97.5          0.68 3.55e6  0.29
# ℹ 213 more rows

8.5.1.2 MAG level

8.6 post2 CC and CI

8.6.1 Enrichment analysis: Ancombc2

8.6.1.1 Structural zeros

# A tibble: 174 × 14
# Rowwise: 
   genome                present  average domain      phylum         class order family genus species completeness contamination length    gc
   <chr>                 <chr>      <dbl> <chr>       <chr>          <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_18:bin_000013 cc_post2   36.2  d__Bacteria p__Bacteroido… c__B… o__B… f__Ta… g__P… s__             98.7          0.01 4.01e6  0.43
 2 AH1_2nd_15:bin_000002 cc_post2    7.12 d__Bacteria p__Cyanobacte… c__V… o__G… f__Ga… g__L… s__             99.8          0.87 2.11e6  0.37
 3 LI1_2nd_7:bin_000001  cc_post2    4.42 d__Bacteria p__Bacillota_A c__C… o__C… f__Cl… g__S… s__             98.3          1.37 3.94e6  0.28
 4 AH1_2nd_9:bin_000061  cc_post2    4.33 d__Bacteria p__Pseudomona… c__G… o__B… f__Bu… g__A… s__             72.8          6.01 3.34e6  0.57
 5 AH1_2nd_7:bin_000015  cc_post2    3.75 d__Bacteria p__Pseudomona… c__A… o__R… f__CA… g__C… s__            100            0.49 1.79e6  0.43
 6 AH1_2nd_1:bin_000001  cc_post2    2.77 d__Bacteria p__Bacteroido… c__B… o__B… f__Ta… g__P… s__             99.6          1.94 4.53e6  0.51
 7 AH1_2nd_7:bin_000006  cc_post2    1.87 d__Bacteria p__Bacillota_A c__C… o__L… f__La… g__J… s__            100            2.39 4.97e6  0.43
 8 AH1_2nd_7:bin_000065  cc_post2    1.49 d__Bacteria p__Bacteroido… c__B… o__B… f__Ta… g__P… s__             93.7          2.1  5.26e6  0.43
 9 AH1_2nd_7:bin_000038  cc_post2    1.47 d__Bacteria p__Bacillota_A c__C… o__O… f__Ru… g__   s__             91.7          4.31 2.93e6  0.49
10 AH1_2nd_19:bin_000017 cc_post2    1.35 d__Bacteria p__Bacillota_A c__C… o__L… f__La… g__C… s__             92.8          4.49 5.61e6  0.47
# ℹ 164 more rows

8.6.1.2 MAG level

8.7 post2 WC and CI

8.7.1 Enrichment analysis: Ancombc2

####Structural zeros

# A tibble: 161 × 14
# Rowwise: 
   genome                present  average domain      phylum         class order family genus species completeness contamination length    gc
   <chr>                 <chr>      <dbl> <chr>       <chr>          <chr> <chr> <chr>  <chr> <chr>          <dbl>         <dbl>  <dbl> <dbl>
 1 AH1_2nd_14:bin_000015 ci_post2   17.8  d__Bacteria p__Bacillota_A c__C… o__C… f__UB… g__   s__             94.8          0    2.02e6  0.36
 2 AH1_2nd_1:bin_000028  ci_post2    4.77 d__Bacteria p__Pseudomona… c__A… o__R… f__UB… g__C… s__             98.0          0    9.35e5  0.28
 3 AH1_2nd_12:bin_000041 ci_post2    4.76 d__Bacteria p__Bacillota   c__B… o__M… f__My… g__M… s__             92.6          0.18 1.01e6  0.27
 4 AH1_2nd_8:bin_000020  ci_post2    4.34 d__Bacteria p__Pseudomona… c__A… o__R… f__RU… g__   s__             99.6          0    8.93e5  0.36
 5 AH1_2nd_1:bin_000015  ci_post2    4.10 d__Bacteria p__Bacillota_A c__C… o__L… f__La… g__M… s__             96.6          0.56 3.88e6  0.33
 6 AH1_2nd_19:bin_000052 ci_post2    3.95 d__Bacteria p__Verrucomic… c__V… o__O… f__LL… g__   s__             92.8          0    8.89e5  0.53
 7 AH1_2nd_2:bin_000034  ci_post2    3.09 d__Bacteria p__Verrucomic… c__V… o__O… f__LL… g__   s__             93.8          0    8.62e5  0.56
 8 AH1_2nd_6:bin_000001  ci_post2    2.21 d__Bacteria p__Bacteroido… c__B… o__F… f__We… g__M… s__             98.7          0.1  3.38e6  0.36
 9 AH1_2nd_10:bin_000009 ci_post2    1.72 d__Bacteria p__Desulfobac… c__D… o__D… f__De… g__B… s__             97.9          0.61 3.77e6  0.51
10 AH1_2nd_5:bin_000037  ci_post2    1.67 d__Bacteria p__Bacillota_A c__C… o__O… f__Os… g__P… s__             93.4          7.74 3.92e6  0.58
# ℹ 151 more rows

8.7.1.1 MAG level

8.8 Community level plots

accli_post2<-sample_metadata%>% 
  filter(time_point == "1_Acclimation"|time_point == "6_Post-FMT2")
accli_post2$newID<-paste(accli_post2$type, "_", accli_post2$time_point)

GIFTs_functions_community %>%
  as.data.frame() %>%
  rownames_to_column("sample") %>%
  left_join(accli_post2, by = join_by(sample == Tube_code)) %>%
  filter(time_point == "1_Acclimation"|time_point == "6_Post-FMT2") %>%
  select(c(1:29, 36,39)) %>%
  pivot_longer(-c(sample,type,time_point),names_to = "trait", values_to = "value") %>%
  mutate(trait = case_when(
    trait %in% GIFT_db3$Code_function ~ GIFT_db3$Function[match(trait, GIFT_db3$Code_function)],
    TRUE ~ trait
  )) %>%
  mutate(trait=factor(trait,levels=unique(GIFT_db3$Function))) %>%
  ggplot(aes(x=value, y=time_point, group=time_point, fill=type, color=type)) +
  geom_boxplot() +
  scale_color_manual(name="type",
                     breaks=c("Control","Hot_control", "Treatment"),
                     labels=c("Cold-Cold","Hot-Hot", "Cold-Hot"),
                     values=c("#4477AA","#d57d2c","#76b183")) +
  scale_fill_manual(name="type",
                    breaks=c("Control","Hot_control", "Treatment"),
                    labels=c("Cold-Cold","Hot-Hot", "Cold-Hot"),
                    values=c("#4477AA50","#d57d2c50","#76b18350")) +
  facet_grid(trait ~ type, space="free", scales="free") +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
        strip.text.y = element_text(angle = 0)) + 
  labs(y="Traits",x="Metabolic capacity index")

GIFTs_elements_community_merged<-GIFTs_elements_community %>%
    as.data.frame() %>%
    rownames_to_column(var="sample") %>%
    filter(sample!="AD69") %>%
    pivot_longer(!sample,names_to="trait",values_to="gift") %>%
    left_join(sample_metadata, by = join_by(sample == Tube_code))%>%
    filter(time_point=="1_Acclimation"|time_point == "6_Post-FMT2")%>%
    mutate(functionid = substr(trait, 1, 3)) %>%
    mutate(trait = case_when(
      trait %in% GIFT_db3$Code_element ~ GIFT_db3$Element[match(trait, GIFT_db3$Code_element)],
      TRUE ~ trait
    )) %>%
    mutate(functionid = case_when(
      functionid %in% GIFT_db3$Code_function ~ GIFT_db3$Function[match(functionid, GIFT_db3$Code_function)],
      TRUE ~ functionid
    )) %>%
    mutate(trait=factor(trait,levels=unique(GIFT_db3$Element))) %>%
    mutate(functionid=factor(functionid,levels=unique(GIFT_db3$Function)))

# Create an interaction variable for time_point and sample
GIFTs_elements_community_merged$interaction_var <- interaction(GIFTs_elements_community_merged$sample, GIFTs_elements_community_merged$time_point)
  
ggplot(GIFTs_elements_community_merged,aes(x=interaction_var,y=trait,fill=gift)) +
        geom_tile(colour="white", linewidth=0.2)+
        scale_fill_gradientn(colours=rev(c("#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#ddf1da")))+
        facet_grid(functionid ~ type, scales="free",space="free") +
        theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1, size=5),
              strip.text.y = element_text(angle = 0)) + 
        labs(y="Traits",x="Time_point",fill="GIFT")+
  scale_x_discrete(labels = function(x) gsub(".*\\.", "", x))

8.9 Wilcoxon comparison

8.9.1 Community elements differences: in CC acclimation vs post2

difference_table_CC %>% 
  filter(group_color=="Acclimation")
  Elements Acclimation      Post2                      Function     Element Difference group_color
1    T0503   0.1830714 0.01253516 Vitamin transport_Niacin (B3) Niacin (B3)  0.1705362 Acclimation

8.9.2 Community elements differences: in CI acclimation vs post2

difference_table_CI %>% 
  filter(group_color=="Acclimation")

8.9.3 Community elements differences: in WC acclimation vs post2

difference_table_WC %>% 
  filter(group_color=="Acclimation")

8.9.4 Comparison of both population in wild samples

difference_table_WC %>% 
  filter(group_color=="Acclimation")
  Elements Acclimation      Post2                              Function          Element Difference group_color
1    T0211  0.07898304 0.03960845           Amino acid transport_Serine           Serine 0.03937459 Acclimation
2    T0705  0.03026609 0.01792140      Nucleic acid transport_Allantoin        Allantoin 0.01234469 Acclimation
3    T0401  0.08571001 0.03355773    Organic anion transport_Spermidine       Spermidine 0.05215228 Acclimation
4    T0406  0.06660075 0.02039130     Organic anion transport_Succinate        Succinate 0.04620945 Acclimation
5    D0301  0.03445823 0.02175758             Sugar degradation_Lactose          Lactose 0.01270065 Acclimation
6    B0711  0.31689890 0.23431920 Vitamin biosynthesis_Menaquinone (K2) Menaquinone (K2) 0.08257970 Acclimation
7    T0503  0.05906234 0.02697581         Vitamin transport_Niacin (B3)      Niacin (B3) 0.03208653 Acclimation

####Butiryc acid biosynthesis

8.9.5 Comparison of both population in acclimation samples

8.9.6 Comparison of CC and CI in post2 samples

8.9.7 Comparison of CI and WC in post2 samples

8.9.8 Comparison of CI in accli and post1 samples

8.9.9 Comparison of CC in accli and post1 samples